home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus Special 5 / Amiga Plus Sonderheft 1996 #5.iso / programme / imagedesk304 / autocat / autocat1.idesk < prev    next >
Text File  |  1996-03-13  |  4KB  |  164 lines

  1. /* ---------------- Steuerdatei für ImageDesk ------------------- */
  2. /*                                                                */
  3. /* A U T O C A T                                                  */
  4. /*                                                                */
  5. /* AREXX-Script zur vollautomatisierten Steuerung von Katalogen   */
  6. /* 1. Teil:                                                       */
  7. /* Ladescript für den Start                                       */
  8. /*                                                                */
  9. /* von Ulrich Röcher, roecher@fts.uni-siegen.de                   */
  10. /*                                                                */
  11. /*----------------------------------------------------------------*/
  12.  
  13. /* Die folgenden Optionen müssen vom User gesetzt werden:         */
  14.  
  15. CDIR="work:Kataloge/"      /* CDIR: Einstiegsverzeichnis          */
  16. CTYP="BMP"                 /* CTYP: Bildformat für Befehle        */
  17. /* -------------------------------------------------------------- */
  18.  
  19. OPTIONS RESULTS
  20.  
  21. if( ADDRESS() ~= "IDESK_REXXPORT") then
  22.     ADDRESS IDESK_REXXPORT
  23.  
  24. CALL ADDLIB("rexxsupport.library",0,-30,0)
  25. if ~show('L', "rexxsupport.library")
  26.   then do
  27.   if ~addlib('rexxsupport.library',0,-30,0)
  28.   then
  29.     ERRORMSG '"Added rexxsupport.library"'
  30.   else do
  31.     ERRORMSG '"Rexxsupport.library not available, exiting..."'
  32.     exit 10
  33.   end
  34. end
  35.  
  36. Lfd_Nr=0    /* seit letztem Verzeichniswechsel geladene Thumbnails */
  37. Akt_Kat=0   /* vom aktuellen Katalog geladene Bilder      */
  38. Kat_Nam=" " /* Name des aktuell geladenen Katalogs        */
  39. ADIR=CDIR
  40.  
  41. dummy=setclip('CDIR',CDIR)
  42. dummy=setclip('ADIR',ADIR)
  43. dummy=setclip('CTYP',CTYP)
  44. dummy=setclip('AnzTN',"")
  45. dummy=setclip('Aktu',0)
  46.  
  47.  
  48. CLEANDESK
  49.  
  50. /* Ermittlen des Grafik-Modus */
  51.  
  52. GETSYSINFO GFXMODE
  53. graphics = RESULT
  54. dummy=setclip('GFX',graphics)
  55.  
  56. /* Abschalten der Thumbnail-Sortierung */
  57. SETSPREFS THUMBSORT FALSE
  58.  
  59. /* Ermitteln der Head-Dateien */
  60. x=1
  61. y=0
  62. ihvz=""
  63. do until x=0
  64.   if y>0 then do
  65.     wx=CHR(y)
  66.     if pos("0",wx)=1 then wx=substr(wx,2,length(wx)-1)
  67.     erg="."||wx
  68.     end
  69.   else do
  70.     erg=""
  71.   end
  72.   name="Head.cat"||erg
  73.   name1=CDIR||name
  74.   if exists(name1) then do
  75.     if ihvz~="" then ihvz=ihvz||" "
  76.     ihvz=ihvz||name
  77.     x=1
  78.     end
  79.   else do
  80.     x=0
  81.     end
  82.   y=y+1
  83. end
  84.  
  85. name=ADIR||Word(ihvz,1)
  86. OPENCAT name 1 1
  87. GETTPREFS TSIZE
  88. THGR = RESULT
  89. select
  90.   when THGR="SMALL" then do
  91.     Command=Command.cat.6
  92.     end
  93.   when THGR="STD" Then do
  94.     Command=Command.cat.8
  95.     end
  96.   when THGR="BIG" Then do
  97.     Command=Command.cat.10
  98.     end
  99.   when THGR="HUGE" Then do
  100.     Command=Command.cat.12
  101.     end
  102.   when THGR="XLARGE" Then do
  103.     Command=Command.cat.15
  104.     end
  105. end
  106.  
  107. GETSYSINFO DESKSPACE
  108. MAXENTRY = RESULT
  109.  
  110. dummy=setclip('Command',Command)
  111. dummy=setclip('ihvz',ihvz)
  112. dummy=setclip('MAXENTRY',MAXENTRY)
  113.  
  114. SETSPREFS DEFACTION "REX"
  115. SETSPREFS DEFAREXX "rexx/AUTOCAT2.IDesk"
  116. SETSPREFS PRINTCOMMAND "FALSE"
  117.  
  118. Aktu=1  /* Aktu: Nummer des aktuell zu ladenden Katalogs */
  119. Lfd_Nr=1
  120. temp=1
  121. Start=2
  122. AnzTN='' /* AnzTN: Zeichenkette enthält Anzahl der TNs der Katas. */
  123. AnzKats= words(ihvz)
  124. DO until (Aktu=AnzKats+1) && (Lfd_Nr=(MAXENTRY-1))
  125.   name=ADIR||Word(ihvz,Aktu)
  126.   OPENCAT name Start (MAXENTRY-1-Lfd_Nr)
  127.   GETSYSINFO THUMBSUSED
  128.   Lfd_Nr = RESULT
  129.   kat=Lfd_Nr-temp
  130.   tempx=CHR(kat)
  131.   if AnzTN="" then do
  132.     AnzTN=CHR(kat)
  133.     end
  134.   else do
  135.     AnzTN=AnzTN||"-"||CHR(kat)
  136.   end
  137.   temp=Lfd_Nr
  138.   Start=1
  139.   Aktu=Aktu+1
  140. end
  141. if Lfd_Nr=MAXENTRY-1 then OPENCAT CDIR||Command 3 1
  142. dummy=setclip('Aktu',Aktu-1)
  143. AnzTN=strip(AnzTN)
  144. dummy=setclip('AnzTN',AnzTN)
  145.  
  146. exit
  147.  
  148.  
  149. CHR: PROCEDURE
  150. /* wandelt Zahlen in Zeichenketten um */
  151. parse arg zahl
  152.  
  153. Wert=''
  154. DO until zahl<10
  155.   zw=Zahl//10
  156.   Zahl=Zahl%10
  157.   ch=d2c(zw+48)
  158.   Wert=ch||Wert
  159. end
  160. ch=d2c(Zahl+48)
  161. wert=ch||Wert
  162. Return Wert
  163.  
  164.